package com.ftg.learn.back.pattern.proxy;


/**
 * 代理设计 模式 ，再不改变teacher 里面的say的情况下
 * 完成对say进行扩容
 * --- 静态代理 : 就是代理 类，本身是一个真实存在的java类  类爆炸 ： ----》 java jvm 加载 class stackoverflow head out memory 加班
 * --- 动态代理 ：
 *
 * @author kangjx
 * @createTime 2022/9/5
 */
public class TeacherProxy implements Iteacher {

    private Iteacher teacher;


    public TeacherProxy(Iteacher teacher) {
        this.teacher = teacher;
    }


    @Override
    public String say() {
        System.out.println(" 先来一段音乐 music。。。。");
        System.out.println(" 再来一段热舞 dancer 。。。。");
        System.out.println("华少 : 有请我们著名的网名讲师" + this.getTeaName() + "讲授课程为:" + this.getSubjectName());
        return teacher.say();
    }

    @Override
    public String getTeaName() {
        return teacher.getTeaName();
    }

    @Override
    public String getSubjectName() {
        return teacher.getSubjectName();
    }

}
